#include "SMPPMessageSubmissionRequestTLVs.hpp"

using namespace smpp::pdu;

MessageSubmissionRequestTLVs::MessageSubmissionRequestTLVs(
const AlertOnMessageDelivery *nAlertOnMessageDelivery,
const BillingIdentification *nBillingIdentification,
const CallbackNum *nCallbackNum,
const CallbackNumAtag *nCallbackNumAtag,
const CallbackNumPresInd *nCallbackNumPresInd,
const DestAddrNpCountry *nDestAddrNpCountry,
const DestAddrNpInformation *nDestAddrNpInformation,
const DestAddrNpResolution *nDestAddrNpResolution,
const DestAddrSubunit *nDestAddrSubunit,
const DestBearerType *nDestBearerType,
const DestNetworkId *nDestNetworkId,
const DestNetworkType *nDestNetworkType,
const DestNodeId *nDestNodeId,
const DestSubaddress *nDestSubaddress,
const DestTelematicsId *nDestTelematicsId,
const DestPort *nDestPort,
const DisplayTime *nDisplayTime,
const ItsReplyType *nItsReplyType,
const ItsSessionInfo *nItsSessionInfo,
const LanguageIndicator *nLanguageIndicator,
const MessagePayload *nMessagePayload,
const MoreMessagesToSend *nMoreMessagesToSend,
const MsMsgWaitFacilities *nMsMsgWaitFacilities,
const MsValidity *nMsValidity,
const NumberOfMessages *nNumberOfMessages,
const PayloadType *nPayloadType,
const PrivacyIndicator *nPrivacyIndicator,
const QosTimeToLive *nQosTimeToLive,
const SarMsgRefNum *nSarMsgRefNum,
const SarSegmentSeqnum *nSarSegmentSeqnum,
const SarTotalSegments *nSarTotalSegments,
const SetDpf *nSetDpf,
const SmsSignal *nSmsSignal,
const SourceAddrSubunit *nSourceAddrSubunit,
const SourceBearerType *nSourceBearerType,
const SourceNetworkId *nSourceNetworkId,
const SourceNetworkType *nSourceNetworkType,
const SourceNodeId *nSourceNodeId,
const SourcePort *nSourcePort,
const SourceSubaddress *nSourceSubaddress,
const SourceTelematicsId *nSourceTelematicsId,
const UserMessageReference *nUserMessageReference,
const UserResponseCode *nUserResponseCode,
const UssdServiceOp *nUssdServiceOp):
_AlertOnMessageDelivery(0),
_BillingIdentification(0),
_CallbackNum(0),
_CallbackNumAtag(0),
_CallbackNumPresInd(0),
_DestAddrNpCountry(0),
_DestAddrNpInformation(0),
_DestAddrNpResolution(0),
_DestAddrSubunit(0),
_DestBearerType(0),
_DestNetworkId(0),
_DestNetworkType(0),
_DestNodeId(0),
_DestSubaddress(0),
_DestTelematicsId(0),
_DestPort(0),
_DisplayTime(0),
_ItsReplyType(0),
_ItsSessionInfo(0),
_LanguageIndicator(0),
_MessagePayload(0),
_MoreMessagesToSend(0),
_MsMsgWaitFacilities(0),
_MsValidity(0),
_NumberOfMessages(0),
_PayloadType(0),
_PrivacyIndicator(0),
_QosTimeToLive(0),
_SarMsgRefNum(0),
_SarSegmentSeqnum(0),
_SarTotalSegments(0),
_SetDpf(0),
_SmsSignal(0),
_SourceAddrSubunit(0),
_SourceBearerType(0),
_SourceNetworkId(0),
_SourceNetworkType(0),
_SourceNodeId(0),
_SourcePort(0),
_SourceSubaddress(0),
_SourceTelematicsId(0),
_UserMessageReference(0),
_UserResponseCode(0),
_UssdServiceOp(0){
	if(nAlertOnMessageDelivery)
		_AlertOnMessageDelivery = 
		new AlertOnMessageDelivery(*nAlertOnMessageDelivery);
	if(nBillingIdentification)
		_BillingIdentification = 
		new BillingIdentification(*nBillingIdentification);
	if(nCallbackNum)
		_CallbackNum = new CallbackNum(*nCallbackNum);
	if(nCallbackNumAtag)
		_CallbackNumAtag = new CallbackNumAtag(*nCallbackNumAtag);
	if(nCallbackNumPresInd)
		_CallbackNumPresInd = 
		new CallbackNumPresInd(*nCallbackNumPresInd);
	if(nDestAddrNpCountry)
		_DestAddrNpCountry = 
		new DestAddrNpCountry(*nDestAddrNpCountry);
	if(nDestAddrNpInformation)
		_DestAddrNpInformation = 
		new DestAddrNpInformation(*nDestAddrNpInformation);
	if(nDestAddrNpResolution)
		_DestAddrNpResolution = 
		new DestAddrNpResolution(*nDestAddrNpResolution);
	if(nDestAddrSubunit)
		_DestAddrSubunit = new DestAddrSubunit(*nDestAddrSubunit);
	if(nDestBearerType)
		_DestBearerType = new DestBearerType(*nDestBearerType);
	if(nDestNetworkId)
		_DestNetworkId = new DestNetworkId(*nDestNetworkId);
	if(nDestNetworkType)
		_DestNetworkType = new DestNetworkType(*nDestNetworkType);
	if(nDestNodeId)
		_DestNodeId = new DestNodeId(*nDestNodeId);
	if(nDestSubaddress)
		_DestSubaddress = new DestSubaddress(*nDestSubaddress);
	if(nDestTelematicsId)
		_DestTelematicsId = new DestTelematicsId(*nDestTelematicsId);
	if(nDestPort)
		_DestPort = new DestPort(*nDestPort);
	if(nDisplayTime)
		_DisplayTime = new DisplayTime(*nDisplayTime);
	if(nItsReplyType)
		_ItsReplyType = new ItsReplyType(*nItsReplyType);
	if(nItsSessionInfo)
		_ItsSessionInfo = new ItsSessionInfo(*nItsSessionInfo);
	if(nLanguageIndicator)
		_LanguageIndicator = 
		new LanguageIndicator(*nLanguageIndicator);
	if(nMessagePayload)
		_MessagePayload = new MessagePayload(*nMessagePayload);
	if(nMoreMessagesToSend)
		_MoreMessagesToSend = 
		new MoreMessagesToSend(*nMoreMessagesToSend);
	if(nMsMsgWaitFacilities)
		_MsMsgWaitFacilities = 
		new MsMsgWaitFacilities(*nMsMsgWaitFacilities);
	if(nMsValidity)
		_MsValidity = new MsValidity(*nMsValidity);
	if(nNumberOfMessages)
		_NumberOfMessages = new NumberOfMessages(*nNumberOfMessages);
	if(nPayloadType)
		_PayloadType = new PayloadType(*nPayloadType);
	if(nPrivacyIndicator)
		_PrivacyIndicator = new PrivacyIndicator(*nPrivacyIndicator);
	if(nQosTimeToLive)
		_QosTimeToLive = new QosTimeToLive(*nQosTimeToLive);
	if(nSarMsgRefNum)
		_SarMsgRefNum = new SarMsgRefNum(*nSarMsgRefNum);
	if(nSarSegmentSeqnum)
		_SarSegmentSeqnum = new SarSegmentSeqnum(*nSarSegmentSeqnum);
	if(nSarTotalSegments)
		_SarTotalSegments = new SarTotalSegments(*nSarTotalSegments);
	if(nSetDpf)
		_SetDpf = new SetDpf(*nSetDpf);
	if(nSmsSignal)
		_SmsSignal = new SmsSignal(*nSmsSignal);
	if(nSourceAddrSubunit)
		_SourceAddrSubunit = 
		new SourceAddrSubunit(*nSourceAddrSubunit);
	if(nSourceBearerType)
		_SourceBearerType = new SourceBearerType(*nSourceBearerType);
	if(nSourceNetworkId)
		_SourceNetworkId = new SourceNetworkId(*nSourceNetworkId);
	if(nSourceNetworkType)
		_SourceNetworkType = 
		new SourceNetworkType(*nSourceNetworkType);
	if(nSourceNodeId)
		_SourceNodeId = new SourceNodeId(*nSourceNodeId);
	if(nSourcePort)
		_SourcePort = new SourcePort(*nSourcePort);
	if(nSourceSubaddress)
		_SourceSubaddress = new SourceSubaddress(*nSourceSubaddress);
	if(nSourceTelematicsId)
		_SourceTelematicsId = 
		new SourceTelematicsId(*nSourceTelematicsId);
	if(nUserMessageReference)
		_UserMessageReference = 
		new UserMessageReference(*nUserMessageReference);
	if(nUserResponseCode)
		_UserResponseCode = new UserResponseCode(*nUserResponseCode);
	if(nUssdServiceOp)
		_UssdServiceOp = new UssdServiceOp(*nUssdServiceOp);
}

MessageSubmissionRequestTLVs::MessageSubmissionRequestTLVs(
const MessageSubmissionRequestTLVs &nMessageSubmissionRequestTLVs):
_AlertOnMessageDelivery(0),
_BillingIdentification(0),
_CallbackNum(0),
_CallbackNumAtag(0),
_CallbackNumPresInd(0),
_DestAddrNpCountry(0),
_DestAddrNpInformation(0),
_DestAddrNpResolution(0),
_DestAddrSubunit(0),
_DestBearerType(0),
_DestNetworkId(0),
_DestNetworkType(0),
_DestNodeId(0),
_DestSubaddress(0),
_DestTelematicsId(0),
_DestPort(0),
_DisplayTime(0),
_ItsReplyType(0),
_ItsSessionInfo(0),
_LanguageIndicator(0),
_MessagePayload(0),
_MoreMessagesToSend(0),
_MsMsgWaitFacilities(0),
_MsValidity(0),
_NumberOfMessages(0),
_PayloadType(0),
_PrivacyIndicator(0),
_QosTimeToLive(0),
_SarMsgRefNum(0),
_SarSegmentSeqnum(0),
_SarTotalSegments(0),
_SetDpf(0),
_SmsSignal(0),
_SourceAddrSubunit(0),
_SourceBearerType(0),
_SourceNetworkId(0),
_SourceNetworkType(0),
_SourceNodeId(0),
_SourcePort(0),
_SourceSubaddress(0),
_SourceTelematicsId(0),
_UserMessageReference(0),
_UserResponseCode(0),
_UssdServiceOp(0){
	if(nMessageSubmissionRequestTLVs.getAlertOnMessageDelivery())
		_AlertOnMessageDelivery = 
		new AlertOnMessageDelivery(
		*nMessageSubmissionRequestTLVs.getAlertOnMessageDelivery());
	if(nMessageSubmissionRequestTLVs.getBillingIdentification())
		_BillingIdentification = 
		new BillingIdentification(
		*nMessageSubmissionRequestTLVs.getBillingIdentification());
	if(nMessageSubmissionRequestTLVs.getCallbackNum())
		_CallbackNum = new CallbackNum(
		*nMessageSubmissionRequestTLVs.getCallbackNum());
	if(nMessageSubmissionRequestTLVs.getCallbackNumAtag())
		_CallbackNumAtag = new CallbackNumAtag(
		*nMessageSubmissionRequestTLVs.getCallbackNumAtag());
	if(nMessageSubmissionRequestTLVs.getCallbackNumPresInd())
		_CallbackNumPresInd = 
		new CallbackNumPresInd(
		*nMessageSubmissionRequestTLVs.getCallbackNumPresInd());
	if(nMessageSubmissionRequestTLVs.getDestAddrNpCountry())
		_DestAddrNpCountry = 
		new DestAddrNpCountry(
		*nMessageSubmissionRequestTLVs.getDestAddrNpCountry());
	if(nMessageSubmissionRequestTLVs.getDestAddrNpInformation())
		_DestAddrNpInformation = 
		new DestAddrNpInformation(
		*nMessageSubmissionRequestTLVs.getDestAddrNpInformation());
	if(nMessageSubmissionRequestTLVs.getDestAddrNpResolution())
		_DestAddrNpResolution = 
		new DestAddrNpResolution(
		*nMessageSubmissionRequestTLVs.getDestAddrNpResolution());
	if(nMessageSubmissionRequestTLVs.getDestAddrSubunit())
		_DestAddrSubunit = new DestAddrSubunit(
		*nMessageSubmissionRequestTLVs.getDestAddrSubunit());
	if(nMessageSubmissionRequestTLVs.getDestBearerType())
		_DestBearerType = new DestBearerType(
		*nMessageSubmissionRequestTLVs.getDestBearerType());
	if(nMessageSubmissionRequestTLVs.getDestNetworkId())
		_DestNetworkId = new DestNetworkId(
		*nMessageSubmissionRequestTLVs.getDestNetworkId());
	if(nMessageSubmissionRequestTLVs.getDestNetworkType())
		_DestNetworkType = new DestNetworkType(
		*nMessageSubmissionRequestTLVs.getDestNetworkType());
	if(nMessageSubmissionRequestTLVs.getDestNodeId())
		_DestNodeId = new DestNodeId(
		*nMessageSubmissionRequestTLVs.getDestNodeId());
	if(nMessageSubmissionRequestTLVs.getDestSubaddress())
		_DestSubaddress = new DestSubaddress(
		*nMessageSubmissionRequestTLVs.getDestSubaddress());
	if(nMessageSubmissionRequestTLVs.getDestTelematicsId())
		_DestTelematicsId = new DestTelematicsId(
		*nMessageSubmissionRequestTLVs.getDestTelematicsId());
	if(nMessageSubmissionRequestTLVs.getDestPort())
		_DestPort = new DestPort(
		*nMessageSubmissionRequestTLVs.getDestPort());
	if(nMessageSubmissionRequestTLVs.getDisplayTime())
		_DisplayTime = new DisplayTime(
		*nMessageSubmissionRequestTLVs.getDisplayTime());
	if(nMessageSubmissionRequestTLVs.getItsReplyType())
		_ItsReplyType = new ItsReplyType(
		*nMessageSubmissionRequestTLVs.getItsReplyType());
	if(nMessageSubmissionRequestTLVs.getItsSessionInfo())
		_ItsSessionInfo = new ItsSessionInfo(
		*nMessageSubmissionRequestTLVs.getItsSessionInfo());
	if(nMessageSubmissionRequestTLVs.getLanguageIndicator())
		_LanguageIndicator = 
		new LanguageIndicator(
		*nMessageSubmissionRequestTLVs.getLanguageIndicator());
	if(nMessageSubmissionRequestTLVs.getMessagePayload())
		_MessagePayload = new MessagePayload(
		*nMessageSubmissionRequestTLVs.getMessagePayload());
	if(nMessageSubmissionRequestTLVs.getMoreMessagesToSend())
		_MoreMessagesToSend = 
		new MoreMessagesToSend(
		*nMessageSubmissionRequestTLVs.getMoreMessagesToSend());
	if(nMessageSubmissionRequestTLVs.getMsMsgWaitFacilities())
		_MsMsgWaitFacilities = 
		new MsMsgWaitFacilities(
		*nMessageSubmissionRequestTLVs.getMsMsgWaitFacilities());
	if(nMessageSubmissionRequestTLVs.getMsValidity())
		_MsValidity = new MsValidity(
		*nMessageSubmissionRequestTLVs.getMsValidity());
	if(nMessageSubmissionRequestTLVs.getNumberOfMessages())
		_NumberOfMessages = new NumberOfMessages(
		*nMessageSubmissionRequestTLVs.getNumberOfMessages());
	if(nMessageSubmissionRequestTLVs.getPayloadType())
		_PayloadType = new PayloadType(
		*nMessageSubmissionRequestTLVs.getPayloadType());
	if(nMessageSubmissionRequestTLVs.getPrivacyIndicator())
		_PrivacyIndicator = new PrivacyIndicator(
		*nMessageSubmissionRequestTLVs.getPrivacyIndicator());
	if(nMessageSubmissionRequestTLVs.getQosTimeToLive())
		_QosTimeToLive = new QosTimeToLive(
		*nMessageSubmissionRequestTLVs.getQosTimeToLive());
	if(nMessageSubmissionRequestTLVs.getSarMsgRefNum())
		_SarMsgRefNum = new SarMsgRefNum(
		*nMessageSubmissionRequestTLVs.getSarMsgRefNum());
	if(nMessageSubmissionRequestTLVs.getSarSegmentSeqnum())
		_SarSegmentSeqnum = new SarSegmentSeqnum(
		*nMessageSubmissionRequestTLVs.getSarSegmentSeqnum());
	if(nMessageSubmissionRequestTLVs.getSarTotalSegments())
		_SarTotalSegments = new SarTotalSegments(
		*nMessageSubmissionRequestTLVs.getSarTotalSegments());
	if(nMessageSubmissionRequestTLVs.getSetDpf())
		_SetDpf = new SetDpf(
		*nMessageSubmissionRequestTLVs.getSetDpf());
	if(nMessageSubmissionRequestTLVs.getSmsSignal())
		_SmsSignal = new SmsSignal(
		*nMessageSubmissionRequestTLVs.getSmsSignal());
	if(nMessageSubmissionRequestTLVs.getSourceAddrSubunit())
		_SourceAddrSubunit = 
		new SourceAddrSubunit(
		*nMessageSubmissionRequestTLVs.getSourceAddrSubunit());
	if(nMessageSubmissionRequestTLVs.getSourceBearerType())
		_SourceBearerType = new SourceBearerType(
		*nMessageSubmissionRequestTLVs.getSourceBearerType());
	if(nMessageSubmissionRequestTLVs.getSourceNetworkId())
		_SourceNetworkId = new SourceNetworkId(
		*nMessageSubmissionRequestTLVs.getSourceNetworkId());
	if(nMessageSubmissionRequestTLVs.getSourceNetworkType())
		_SourceNetworkType = 
		new SourceNetworkType(
		*nMessageSubmissionRequestTLVs.getSourceNetworkType());
	if(nMessageSubmissionRequestTLVs.getSourceNodeId())
		_SourceNodeId = new SourceNodeId(
		*nMessageSubmissionRequestTLVs.getSourceNodeId());
	if(nMessageSubmissionRequestTLVs.getSourcePort())
		_SourcePort = new SourcePort(
		*nMessageSubmissionRequestTLVs.getSourcePort());
	if(nMessageSubmissionRequestTLVs.getSourceSubaddress())
		_SourceSubaddress = new SourceSubaddress(
		*nMessageSubmissionRequestTLVs.getSourceSubaddress());
	if(nMessageSubmissionRequestTLVs.getSourceTelematicsId())
		_SourceTelematicsId = 
		new SourceTelematicsId(
		*nMessageSubmissionRequestTLVs.getSourceTelematicsId());
	if(nMessageSubmissionRequestTLVs.getUserMessageReference())
		_UserMessageReference = 
		new UserMessageReference(
		*nMessageSubmissionRequestTLVs.getUserMessageReference());
	if(nMessageSubmissionRequestTLVs.getUserResponseCode())
		_UserResponseCode = new UserResponseCode(
		*nMessageSubmissionRequestTLVs.getUserResponseCode());
	if(nMessageSubmissionRequestTLVs.getUssdServiceOp())
		_UssdServiceOp = new UssdServiceOp(
		*nMessageSubmissionRequestTLVs.getUssdServiceOp());
}

MessageSubmissionRequestTLVs::~MessageSubmissionRequestTLVs(){
	if(_AlertOnMessageDelivery)
		delete _AlertOnMessageDelivery;
	if(_BillingIdentification)
		delete _BillingIdentification;
	if(_CallbackNum)
		delete _CallbackNum;
	if(_CallbackNumAtag)
		delete _CallbackNumAtag;
	if(_CallbackNumPresInd)
		delete _CallbackNumPresInd;
	if(_DestAddrNpCountry)
		delete _DestAddrNpCountry;
	if(_DestAddrNpInformation)
		delete _DestAddrNpInformation;
	if(_DestAddrNpResolution)
		delete _DestAddrNpResolution;
	if(_DestAddrSubunit)
		delete _DestAddrSubunit;
	if(_DestBearerType)
		delete _DestBearerType;
	if(_DestNetworkId)
		delete _DestNetworkId;
	if(_DestNetworkType)
		delete _DestNetworkType;
	if(_DestNodeId)
		delete _DestNodeId;
	if(_DestSubaddress)
		delete _DestSubaddress;
	if(_DestTelematicsId)
		delete _DestTelematicsId;
	if(_DestPort)
		delete _DestPort;
	if(_DisplayTime)
		delete _DisplayTime;
	if(_ItsReplyType)
		delete _ItsReplyType;
	if(_ItsSessionInfo)
		delete _ItsSessionInfo;
	if(_LanguageIndicator)
		delete _LanguageIndicator;
	if(_MessagePayload)
		delete _MessagePayload;
	if(_MoreMessagesToSend)
		delete _MoreMessagesToSend;
	if(_MsMsgWaitFacilities)
		delete _MsMsgWaitFacilities;
	if(_MsValidity)
		delete _MsValidity;
	if(_NumberOfMessages)
		delete _NumberOfMessages;
	if(_PayloadType)
		delete _PayloadType;
	if(_PrivacyIndicator)
		delete _PrivacyIndicator;
	if(_QosTimeToLive)
		delete _QosTimeToLive;
	if(_SarMsgRefNum)
		delete _SarMsgRefNum;
	if(_SarSegmentSeqnum)
		delete _SarSegmentSeqnum;
	if(_SarTotalSegments)
		delete _SarTotalSegments;
	if(_SetDpf)
		delete _SetDpf;
	if(_SmsSignal)
		delete _SmsSignal;
	if(_SourceAddrSubunit)
		delete _SourceAddrSubunit;
	if(_SourceBearerType)
		delete _SourceBearerType;
	if(_SourceNetworkId)
		delete _SourceNetworkId;
	if(_SourceNetworkType)
		delete _SourceNetworkType;
	if(_SourceNodeId)
		delete _SourceNodeId;
	if(_SourcePort)
		delete _SourcePort;
	if(_SourceSubaddress)
		delete _SourceSubaddress;
	if(_SourceTelematicsId)
		delete _SourceTelematicsId;
	if(_UserMessageReference)
		delete _UserMessageReference;
	if(_UserResponseCode)
		delete _UserResponseCode;
	if(_UssdServiceOp)
		delete _UssdServiceOp;
}

void MessageSubmissionRequestTLVs::setAlertOnMessageDelivery(
	const AlertOnMessageDelivery *nAlertOnMessageDelivery) {
	if(_AlertOnMessageDelivery){
		delete _AlertOnMessageDelivery;
		_AlertOnMessageDelivery = 0;
	}
	if(nAlertOnMessageDelivery)
		_AlertOnMessageDelivery = 
			new AlertOnMessageDelivery(*nAlertOnMessageDelivery);
}

const AlertOnMessageDelivery *
	MessageSubmissionRequestTLVs::getAlertOnMessageDelivery() const {
	return _AlertOnMessageDelivery;
}

void MessageSubmissionRequestTLVs::setBillingIdentification(
	const BillingIdentification *nBillingIdentification) {
	if(_BillingIdentification){
		delete _BillingIdentification;
		_BillingIdentification = 0;
	}
	if(nBillingIdentification)
		_BillingIdentification = 
			new BillingIdentification(*nBillingIdentification);
}

const BillingIdentification *
	MessageSubmissionRequestTLVs::getBillingIdentification() const{
	return _BillingIdentification;
}

void MessageSubmissionRequestTLVs::setCallbackNum(
	const CallbackNum *nCallbackNum){
	if(_CallbackNum){
		delete _CallbackNum;
		_CallbackNum = 0;
	}
	if(nCallbackNum)
		_CallbackNum = 
			new CallbackNum(*nCallbackNum);
}

const CallbackNum *
	MessageSubmissionRequestTLVs::getCallbackNum() const{
	return _CallbackNum;
}

void MessageSubmissionRequestTLVs::setCallbackNumAtag(
	const CallbackNumAtag *nCallbackNumAtag){
	if(_CallbackNumAtag){
		delete _CallbackNumAtag;
		_CallbackNumAtag = 0;
	}
	if(nCallbackNumAtag)
		_CallbackNumAtag = 
			new CallbackNumAtag(*nCallbackNumAtag);
}

const CallbackNumAtag *
	MessageSubmissionRequestTLVs::getCallbackNumAtag() const{
	return _CallbackNumAtag;
}

void MessageSubmissionRequestTLVs::setCallbackNumPresInd(
	const CallbackNumPresInd *nCallbackNumPresInd){
	if(_CallbackNumPresInd){
		delete _CallbackNumPresInd;
		_CallbackNumPresInd = 0;
	}
	if(nCallbackNumPresInd)
		_CallbackNumPresInd = 
			new CallbackNumPresInd(*nCallbackNumPresInd);
}

const CallbackNumPresInd *
	MessageSubmissionRequestTLVs::getCallbackNumPresInd() const{
	return _CallbackNumPresInd;
}

void MessageSubmissionRequestTLVs::setDestAddrNpCountry(
	const DestAddrNpCountry *nDestAddrNpCountry){
	if(_DestAddrNpCountry){
		delete _DestAddrNpCountry;
		_DestAddrNpCountry = 0;
	}
	if(nDestAddrNpCountry)
		_DestAddrNpCountry = 
			new DestAddrNpCountry(*nDestAddrNpCountry);
}

const DestAddrNpCountry *
	MessageSubmissionRequestTLVs::getDestAddrNpCountry() const{
	return _DestAddrNpCountry;
}


void MessageSubmissionRequestTLVs::setDestAddrNpInformation(
	const DestAddrNpInformation *nDestAddrNpInformation){
	if(_DestAddrNpInformation){
		delete _DestAddrNpInformation;
		_DestAddrNpInformation = 0;
	}
	if(nDestAddrNpInformation)
		_DestAddrNpInformation = 
			new DestAddrNpInformation(*nDestAddrNpInformation);
}

const DestAddrNpInformation *
	MessageSubmissionRequestTLVs::getDestAddrNpInformation() const{
	return _DestAddrNpInformation;
}

void MessageSubmissionRequestTLVs::setDestAddrNpResolution(
	const DestAddrNpResolution *nDestAddrNpResolution){
	if(_DestAddrNpResolution){
		delete _DestAddrNpResolution;
		_DestAddrNpResolution = 0;
	}
	if(nDestAddrNpResolution)
		_DestAddrNpResolution = 
			new DestAddrNpResolution(*nDestAddrNpResolution);
}

const DestAddrNpResolution *
	MessageSubmissionRequestTLVs::getDestAddrNpResolution() const{
	return _DestAddrNpResolution;
}

const DestAddrSubunit *
	MessageSubmissionRequestTLVs::getDestAddrSubunit() const{
	return _DestAddrSubunit;
}

void MessageSubmissionRequestTLVs::setDestAddrSubunit(
	const DestAddrSubunit *nDestAddrSubunit){
	if(_DestAddrSubunit){
		delete _DestAddrSubunit;
		_DestAddrSubunit = 0;
	}
	if(nDestAddrSubunit)
		_DestAddrSubunit = 
			new DestAddrSubunit(*nDestAddrSubunit);
}

const DestBearerType *
	MessageSubmissionRequestTLVs::getDestBearerType() const{
	return _DestBearerType;
}

void MessageSubmissionRequestTLVs::setDestBearerType(
	const DestBearerType *nDestBearerType){
	if(_DestBearerType){
		delete _DestBearerType;
		_DestBearerType = 0;
	}
	if(nDestBearerType)
		_DestBearerType = 
			new DestBearerType(*nDestBearerType);
}


const DestNetworkId *
	MessageSubmissionRequestTLVs::getDestNetworkId() const{
	return _DestNetworkId;
}

void MessageSubmissionRequestTLVs::setDestNetworkId(
	const DestNetworkId *nDestNetworkId){
	if(_DestNetworkId){
		delete _DestNetworkId;
		_DestNetworkId = 0;
	}
	if(nDestNetworkId)
		_DestNetworkId = 
			new DestNetworkId(*nDestNetworkId);
}

const DestNetworkType *
	MessageSubmissionRequestTLVs::getDestNetworkType() const{
	return _DestNetworkType;
}

void MessageSubmissionRequestTLVs::setDestNetworkType(
	const DestNetworkType *nDestNetworkType){
		if(_DestNetworkType){
			delete _DestNetworkType;
			_DestNetworkType = 0;
		}
		if(nDestNetworkType)
			_DestNetworkType = 
			new DestNetworkType(*nDestNetworkType);
}

void MessageSubmissionRequestTLVs::setDestNodeId(
	const DestNodeId *nDestNodeId){
	if(_DestNodeId){
		delete _DestNodeId;
		_DestNodeId = 0;
	}
	if(nDestNodeId)
		_DestNodeId = 
			new DestNodeId(*nDestNodeId);
}

const DestNodeId *
	MessageSubmissionRequestTLVs::getDestNodeId() const{
	return _DestNodeId;
}

void MessageSubmissionRequestTLVs::setDestSubaddress(
	const DestSubaddress *nDestSubaddress){
	if(_DestSubaddress){
		delete _DestSubaddress;
		_DestSubaddress = 0;
	}
	if(nDestSubaddress)
		_DestSubaddress = 
			new DestSubaddress(*nDestSubaddress);
}

const DestSubaddress *
	MessageSubmissionRequestTLVs::getDestSubaddress() const{
	return _DestSubaddress;
}

void MessageSubmissionRequestTLVs::setDestTelematicsId(
	const DestTelematicsId *nDestTelematicsId){
	if(_DestTelematicsId){
		delete _DestTelematicsId;
		_DestTelematicsId = 0;
	}
	if(nDestTelematicsId)
		_DestTelematicsId = 
			new DestTelematicsId(*nDestTelematicsId);
}

const DestTelematicsId *
	MessageSubmissionRequestTLVs::getDestTelematicsId() const{
	return _DestTelematicsId;
}

void MessageSubmissionRequestTLVs::setDestPort(
	const DestPort *nDestPort){
	if(_DestPort){
		delete _DestPort;
		_DestPort = 0;
	}
	if(nDestPort)
		_DestPort = 
			new DestPort(*nDestPort);
}

const DestPort *MessageSubmissionRequestTLVs::getDestPort() const{
	return _DestPort;
}

void MessageSubmissionRequestTLVs::setDisplayTime(
	const DisplayTime *nDisplayTime){
	if(_DisplayTime){
		delete _DisplayTime;
		_DisplayTime = 0;
	}
	if(nDisplayTime)
		_DisplayTime = 
			new DisplayTime(*nDisplayTime);
}

const DisplayTime *
	MessageSubmissionRequestTLVs::getDisplayTime() const{
	return _DisplayTime;
}

void MessageSubmissionRequestTLVs::setItsReplyType(
	const ItsReplyType *nItsReplyType){
	if(_ItsReplyType){
		delete _ItsReplyType;
		_ItsReplyType = 0;
	}
	if(nItsReplyType)
		_ItsReplyType = 
			new ItsReplyType(*nItsReplyType);
}

const ItsReplyType *
	MessageSubmissionRequestTLVs::getItsReplyType() const{
	return _ItsReplyType;
}

void MessageSubmissionRequestTLVs::setItsSessionInfo(
	const ItsSessionInfo *nItsSessionInfo){
	if(_ItsSessionInfo){
		delete _ItsSessionInfo;
		_ItsSessionInfo = 0;
	}
	if(nItsSessionInfo)
		_ItsSessionInfo = 
			new ItsSessionInfo(*nItsSessionInfo);
}

const ItsSessionInfo *
	MessageSubmissionRequestTLVs::getItsSessionInfo() const{
	return _ItsSessionInfo;
}

void MessageSubmissionRequestTLVs::setLanguageIndicator(
	const LanguageIndicator *nLanguageIndicator){
	if(_LanguageIndicator){
		delete _LanguageIndicator;
		_LanguageIndicator = 0;
	}
	if(nLanguageIndicator)
		_LanguageIndicator = 
			new LanguageIndicator(*nLanguageIndicator);
}

const LanguageIndicator *
	MessageSubmissionRequestTLVs::getLanguageIndicator() const{
	return _LanguageIndicator;
}

void MessageSubmissionRequestTLVs::setMessagePayload(
	const MessagePayload *nMessagePayload){
	if(_MessagePayload){
		delete _MessagePayload;
		_MessagePayload = 0;
	}
	if(nMessagePayload)
		_MessagePayload = 
			new MessagePayload(*nMessagePayload);
}

const MessagePayload *
	MessageSubmissionRequestTLVs::getMessagePayload() const{
	return _MessagePayload;
}

void MessageSubmissionRequestTLVs::setMoreMessagesToSend(
	const MoreMessagesToSend *nMoreMessagesToSend){
	if(_MoreMessagesToSend){
		delete _MoreMessagesToSend;
		_MoreMessagesToSend = 0;
	}
	if(nMoreMessagesToSend)
		_MoreMessagesToSend = 
			new MoreMessagesToSend(*nMoreMessagesToSend);
}

const MoreMessagesToSend *
	MessageSubmissionRequestTLVs::getMoreMessagesToSend() const{
	return _MoreMessagesToSend;
}

void MessageSubmissionRequestTLVs::setMsMsgWaitFacilities(
	const MsMsgWaitFacilities *nMsMsgWaitFacilities){
	if(_MsMsgWaitFacilities){
		delete _MsMsgWaitFacilities;
		_MsMsgWaitFacilities = 0;
	}
	if(nMsMsgWaitFacilities)
		_MsMsgWaitFacilities = 
			new MsMsgWaitFacilities(*nMsMsgWaitFacilities);
}

const MsMsgWaitFacilities *
	MessageSubmissionRequestTLVs::getMsMsgWaitFacilities() const{
	return _MsMsgWaitFacilities;
}

void MessageSubmissionRequestTLVs::setMsValidity(
	const MsValidity *nMsValidity){
	if(_MsValidity){
		delete _MsValidity;
		_MsValidity = 0 ;
	}
	if(nMsValidity)
		_MsValidity = 
			new MsValidity(*nMsValidity);
}

const MsValidity *
	MessageSubmissionRequestTLVs::getMsValidity() const{
	return _MsValidity;
}

void MessageSubmissionRequestTLVs::setNumberOfMessages(
	const NumberOfMessages *nNumberOfMessages){
	if(_NumberOfMessages){
		delete _NumberOfMessages;
		_NumberOfMessages = 0;
	}
	if(nNumberOfMessages)
		_NumberOfMessages = 
			new NumberOfMessages(*nNumberOfMessages);
}

const NumberOfMessages *
	MessageSubmissionRequestTLVs::getNumberOfMessages() const{
	return _NumberOfMessages;
}

void MessageSubmissionRequestTLVs::setPayloadType(
	const PayloadType *nPayloadType){
	if(_PayloadType){
		delete _PayloadType;
		_PayloadType = 0;
	}
	if(nPayloadType)
		_PayloadType = 
			new PayloadType(*nPayloadType);
}

const PayloadType *
	MessageSubmissionRequestTLVs::getPayloadType() const{
	return _PayloadType;
}

void MessageSubmissionRequestTLVs::setPrivacyIndicator(
	const PrivacyIndicator *nPrivacyIndicator){
	if(_PrivacyIndicator){
		delete _PrivacyIndicator;
		_PrivacyIndicator = 0;
	}
	if(nPrivacyIndicator)
		_PrivacyIndicator = 
			new PrivacyIndicator(*nPrivacyIndicator);
}

const PrivacyIndicator *
	MessageSubmissionRequestTLVs::getPrivacyIndicator() const{
	return _PrivacyIndicator;
}

void MessageSubmissionRequestTLVs::setQosTimeToLive(
	const QosTimeToLive *nQosTimeToLive){
	if(_QosTimeToLive){
		delete _QosTimeToLive;
		_QosTimeToLive = 0;
	}
	if(nQosTimeToLive)
		_QosTimeToLive = 
			new QosTimeToLive(*nQosTimeToLive);
}

const QosTimeToLive *
	MessageSubmissionRequestTLVs::getQosTimeToLive() const{
	return _QosTimeToLive;
}

void MessageSubmissionRequestTLVs::setSarMsgRefNum(
	const SarMsgRefNum *nSarMsgRefNum){
	if(_SarMsgRefNum){
		delete _SarMsgRefNum;
		_SarMsgRefNum = 0;
	}
	if(nSarMsgRefNum)
		_SarMsgRefNum = 
			new SarMsgRefNum(*nSarMsgRefNum);
}

const SarMsgRefNum *
	MessageSubmissionRequestTLVs::getSarMsgRefNum() const{
	return _SarMsgRefNum;
}

void MessageSubmissionRequestTLVs::setSarSegmentSeqnum(
	const SarSegmentSeqnum *nSarSegmentSeqnum){
	if(_SarSegmentSeqnum){
		delete _SarSegmentSeqnum;
		_SarSegmentSeqnum = 0;
	}
	if(nSarSegmentSeqnum)
		_SarSegmentSeqnum = 
			new SarSegmentSeqnum(*nSarSegmentSeqnum);
}

const SarSegmentSeqnum *
	MessageSubmissionRequestTLVs::getSarSegmentSeqnum() const{
	return _SarSegmentSeqnum;
}

void MessageSubmissionRequestTLVs::setSarTotalSegments(
	const SarTotalSegments *nSarTotalSegments){
	if(_SarTotalSegments){
		delete _SarTotalSegments;
		_SarTotalSegments = 0;
	}
	if(nSarTotalSegments)
		_SarTotalSegments = 
			new SarTotalSegments(*nSarTotalSegments);
}

const SarTotalSegments *
	MessageSubmissionRequestTLVs::getSarTotalSegments() const{
	return _SarTotalSegments;
}

void MessageSubmissionRequestTLVs::setSetDpf(
	const SetDpf *nSetDpf){
	if(_SetDpf){
		delete _SetDpf;
		_SetDpf = 0;
	}
	if(nSetDpf)
		_SetDpf = 
			new SetDpf(*nSetDpf);
}

const SetDpf *MessageSubmissionRequestTLVs::getSetDpf() const{
	return _SetDpf;
}

void MessageSubmissionRequestTLVs::setSmsSignal(
	const SmsSignal *nSmsSignal){
	if(_SmsSignal){
		delete _SmsSignal;
		_SmsSignal = 0;
	}
	if(nSmsSignal)
		_SmsSignal = 
			new SmsSignal(*nSmsSignal);
}

const SmsSignal *MessageSubmissionRequestTLVs::getSmsSignal() const{
	return _SmsSignal;
}

void MessageSubmissionRequestTLVs::setSourceAddrSubunit(
	const SourceAddrSubunit *nSourceAddrSubunit){
	if(_SourceAddrSubunit){
		delete _SourceAddrSubunit;
		_SourceAddrSubunit = 0;
	}
	if(nSourceAddrSubunit)
		_SourceAddrSubunit = 
			new SourceAddrSubunit(*nSourceAddrSubunit);
}

const SourceAddrSubunit *
	MessageSubmissionRequestTLVs::getSourceAddrSubunit() const{
	return _SourceAddrSubunit;
}

void MessageSubmissionRequestTLVs::setSourceBearerType(
	const SourceBearerType *nSourceBearerType){
	if(_SourceBearerType){
		delete _SourceBearerType;
		_SourceBearerType = 0;
	}
	if(nSourceBearerType)
		_SourceBearerType = 
			new SourceBearerType(*nSourceBearerType);
}

const SourceBearerType *
	MessageSubmissionRequestTLVs::getSourceBearerType() const{
	return _SourceBearerType;
}

void MessageSubmissionRequestTLVs::setSourceNetworkId(
	const SourceNetworkId *nSourceNetworkId){
	if(_SourceNetworkId){
		delete _SourceNetworkId;
		_SourceNetworkId = 0;
	}
	if(nSourceNetworkId)
		_SourceNetworkId = 
			new SourceNetworkId(*nSourceNetworkId);
}

const SourceNetworkId *
	MessageSubmissionRequestTLVs::getSourceNetworkId() const{
	return _SourceNetworkId;
}

void MessageSubmissionRequestTLVs::setSourceNetworkType(
	const SourceNetworkType *nSourceNetworkType){
	if(_SourceNetworkType){
		delete _SourceNetworkType;
		_SourceNetworkType = 0;
	}
	if(nSourceNetworkType)
		_SourceNetworkType = 
			new SourceNetworkType(*nSourceNetworkType);
}

const SourceNetworkType *
	MessageSubmissionRequestTLVs::getSourceNetworkType() const{
	return _SourceNetworkType;
}


void MessageSubmissionRequestTLVs::setSourceNodeId(
	const SourceNodeId *nSourceNodeId){
	if(_SourceNodeId){
		delete _SourceNodeId;
		_SourceNodeId = 0;
	}
	if(nSourceNodeId)
		_SourceNodeId = 
			new SourceNodeId(*nSourceNodeId);
}

const SourceNodeId *
	MessageSubmissionRequestTLVs::getSourceNodeId() const{
	return _SourceNodeId;
}

void MessageSubmissionRequestTLVs::setSourcePort(
	const SourcePort *nSourcePort){
	if(_SourcePort){
		delete _SourcePort;
		_SourcePort = 0;
	}
	if(nSourcePort)
		_SourcePort = 
			new SourcePort(*nSourcePort);
}

const SourcePort *
	MessageSubmissionRequestTLVs::getSourcePort() const{
	return _SourcePort;
}

void MessageSubmissionRequestTLVs::setSourceSubaddress(
	const SourceSubaddress *nSourceSubaddress){
	if(_SourceSubaddress){
		delete _SourceSubaddress;
		_SourceSubaddress = 0;
	}
	if(nSourceSubaddress)
		_SourceSubaddress = 
			new SourceSubaddress(*nSourceSubaddress);
}

const SourceSubaddress *
	MessageSubmissionRequestTLVs::getSourceSubaddress() const{
	return _SourceSubaddress;
}

void MessageSubmissionRequestTLVs::setSourceTelematicsId(
	const SourceTelematicsId *nSourceTelematicsId){
	if(_SourceTelematicsId){
		delete _SourceTelematicsId;
		_SourceTelematicsId = 0;
	}
	if(nSourceTelematicsId)
		_SourceTelematicsId = 
			new SourceTelematicsId(*nSourceTelematicsId);
}

const SourceTelematicsId *
	MessageSubmissionRequestTLVs::getSourceTelematicsId() const{
	return _SourceTelematicsId;
}

void MessageSubmissionRequestTLVs::setUserMessageReference(
	const UserMessageReference *nUserMessageReference){
	if(_UserMessageReference){
		delete _UserMessageReference;
		_UserMessageReference = 0;
	}
	if(nUserMessageReference)
		_UserMessageReference = 
			new UserMessageReference(*nUserMessageReference);
}

const UserMessageReference *
	MessageSubmissionRequestTLVs::getUserMessageReference() const{
	return _UserMessageReference;
}

void MessageSubmissionRequestTLVs::setUserResponseCode(
	const UserResponseCode *nUserResponseCode){
	if(_UserResponseCode){
		delete _UserResponseCode;
		_UserResponseCode = 0;
	}
	if(nUserResponseCode)
		_UserResponseCode = 
			new UserResponseCode(*nUserResponseCode);
}

const UserResponseCode *
	MessageSubmissionRequestTLVs::getUserResponseCode() const{
	return _UserResponseCode;
}

void MessageSubmissionRequestTLVs::setUssdServiceOp(
	const UssdServiceOp *nUssdServiceOp){
	if(_UssdServiceOp){
		delete _UssdServiceOp;
		_UssdServiceOp = 0;
	}
	if(nUssdServiceOp)
		_UssdServiceOp = 
			new UssdServiceOp(*nUssdServiceOp);
}

const UssdServiceOp *
	MessageSubmissionRequestTLVs::getUssdServiceOp() const{
	return _UssdServiceOp;
}

const quint16 MessageSubmissionRequestTLVs::getLength() const{
	quint16 length(0);
	if(_AlertOnMessageDelivery)
		length += 4 + _AlertOnMessageDelivery->getLength();
	if(_BillingIdentification)
		length += 4 + _BillingIdentification->getLength();
	if(_CallbackNum)
		length += 4 + _CallbackNum->getLength();
	if(_CallbackNumAtag)
		length += 4 + _CallbackNumAtag->getLength();
	if(_CallbackNumPresInd)
		length += 4 + _CallbackNumPresInd->getLength();
	if(_DestAddrNpCountry)
		length += 4 + _DestAddrNpCountry->getLength();
	if(_DestAddrNpInformation)
		length += 4 + _DestAddrNpInformation->getLength();
	if(_DestAddrNpResolution)
		length += 4 + _DestAddrNpResolution->getLength();
	if(_DestAddrSubunit)
		length += 4 + _DestAddrSubunit->getLength();
	if(_DestBearerType)
		length += 4 + _DestBearerType->getLength();
	if(_DestNetworkId)
		length += 4 + _DestNetworkId->getLength();
	if(_DestNetworkType)
		length += 4 + _DestNetworkType->getLength();
	if(_DestNodeId)
		length += 4 + _DestNodeId->getLength();
	if(_DestSubaddress)
		length += 4 + _DestSubaddress->getLength();
	if(_DestTelematicsId)
		length += 4 + _DestTelematicsId->getLength();
	if(_DestPort)
		length += 4 + _DestPort->getLength();
	if(_DisplayTime)
		length += 4 + _DisplayTime->getLength();
	if(_ItsReplyType)
		length += 4 + _ItsReplyType->getLength();
	if(_ItsSessionInfo)
		length += 4 + _ItsSessionInfo->getLength();
	if(_LanguageIndicator)
		length += 4 + _LanguageIndicator->getLength();
	if(_MessagePayload)
		length += 4 + _MessagePayload->getLength();
	if(_MoreMessagesToSend)
		length += 4 + _MoreMessagesToSend->getLength();
	if(_MsMsgWaitFacilities)
		length += 4 + _MsMsgWaitFacilities->getLength();
	if(_MsValidity)
		length += 4 + _MsValidity->getLength();
	if(_NumberOfMessages)
		length += 4 + _NumberOfMessages->getLength();
	if(_PayloadType)
		length += 4 + _PayloadType->getLength();
	if(_PrivacyIndicator)
		length += 4 + _PrivacyIndicator->getLength();
	if(_QosTimeToLive)
		length += 4 + _QosTimeToLive->getLength();
	if(_SarMsgRefNum)
		length += 4 + _SarMsgRefNum->getLength();
	if(_SarSegmentSeqnum)
		length += 4 + _SarSegmentSeqnum->getLength();
	if(_SarTotalSegments)
		length += 4 + _SarTotalSegments->getLength();
	if(_SetDpf)
		length += 4 + _SetDpf->getLength();
	if(_SmsSignal)
		length += 4 + _SmsSignal->getLength();
	if(_SourceAddrSubunit)
		length += 4 + _SourceAddrSubunit->getLength();
	if(_SourceBearerType)
		length += 4 + _SourceBearerType->getLength();
	if(_SourceNetworkId)
		length += 4 + _SourceNetworkId->getLength();
	if(_SourceNetworkType)
		length += 4 + _SourceNetworkType->getLength();
	if(_SourceNodeId)
		length += 4 + _SourceNodeId->getLength();
	if(_SourcePort)
		length += 4 + _SourcePort->getLength();
	if(_SourceSubaddress)
		length += 4 + _SourceSubaddress->getLength();
	if(_SourceTelematicsId)
		length += 4 + _SourceTelematicsId->getLength();
	if(_UserMessageReference)
		length += 4 + _UserMessageReference->getLength();
	if(_UserResponseCode)
		length += 4 + _UserResponseCode->getLength();
	if(_UssdServiceOp)
		length += 4 + _UssdServiceOp->getLength();
	return length;
}
